﻿/// <reference path="../jquery-1.7.2-vsdoc.js" />


$(document).ready(function () {
    $("form:first").submit(saveProtocol);
});

function saveProtocol() {
    var result = new Object();

    var i = 0;
    var j = 0;
    var k = 0;
    result.Groups = new Array();
    result.StudyID = $('#StudyID').val();
    $('[id^="group"]').each(function () {
        result.Groups[i] = new Object();
        result.Groups[i].Name = $(this).find('#gName').val();
        result.Groups[i].Repeat = $(this).find('#gRepeat').val();
        result.Groups[i].Sessions = new Array();
        j = 0;
        $(this).find('#gSessions').children('li').each(function () {
            result.Groups[i].Sessions[j] = new Object();
            result.Groups[i].Sessions[j].Name = $(this).find('#sName').val();
            result.Groups[i].Sessions[j].Repeat = $(this).find('#sRepeat').val();
            result.Groups[i].Sessions[j].Exercises = new Array();
            k = 0;
            $(this).find('#sExercises').children('li').each(function () {
                result.Groups[i].Sessions[j].Exercises[k] = new Object();
                result.Groups[i].Sessions[j].Exercises[k].Repeat = $(this).find('#eRepeat').val();
                result.Groups[i].Sessions[j].Exercises[k].ID = $(this).find('#eId').val();
                k++;
            });
            j++;
        });
        i++;
    });

    $('#jsonResult').val(JSON.stringify(result));
}

function addExercise(groupId, sessionId) {
    var count = $('#' + groupId).find('#' + sessionId + ' > ul > li').length;

    if (count == 1) {
        $('#' + groupId).find('#' + sessionId + ' > ul > li > img').removeAttr('style');
    }

    var lastIndex = $('#' + groupId).find('#' + sessionId + ' > ul > li').last().attr('id').replace('exercise', '');
    var exerciseIndex = parseInt(lastIndex) + 1;
    var exerciseId = "exercise" + exerciseIndex;

    var elem = $('#clone_exerciseId').first().clone(false).attr('id', exerciseId);
    $(elem).find('img').attr('onclick', 'deleteExercise("' + groupId + '","' + sessionId + '","' + exerciseId + '");');
    var session = $('#' + groupId).find('#' + sessionId + ' > ul');
    $(elem).appendTo($(session));
}

function deleteExercise(groupId, sessionId, exerciseId) {
    var session = $('#' + groupId).find('#' + sessionId);
    $(session).find('#' + exerciseId).remove();

    if ($(session).find('ul > li').length == 1) {
        $(session).find('ul > li > img').css('display', 'none');
    }
}

function addSession(groupId) {
    var elem = $('#clone_sessionId').clone();

    var session = $('#' + groupId + ' > fieldset > ul > li');
    if ($(session).length == 1) {
        $(session).children('img').removeAttr('style');
    }

    var lastIndex = $(session).last().attr('id').replace('session', '');
    var sessionIndex = parseInt(lastIndex) + 1;
    var sessionId = "session" + sessionIndex;

    $(elem).attr('id', sessionId);
    $(elem).find('li').find('img').attr('onclick', 'deleteExercise("' + groupId + '", "' + sessionId + '","exercise0" );');
    $(elem).find('li').find('img').css('display', 'none');
    $(elem).find('li').attr('id', 'exercise0');
    $(elem).find('#btnAddExercise').attr('onclick', 'addExercise("' + groupId + '", "' + sessionId + '");');
    $(elem).children('img').attr('onclick', 'deleteSession("' + groupId + '", "' + sessionId + '")');

    var sessionList = $('#' + groupId).find('#gSessions')

    $(elem).appendTo($(sessionList));
}

function deleteSession(groupId, sessionId) {
    $('#' + groupId).find('#' + sessionId).remove();

    var count = $('#' + groupId + ' > fieldset > ul > li').length;
    if (count == 1) {
        $('#' + groupId + ' > fieldset > ul > li').children('img').css('display', 'none');
    }
}

function addGroup() {
    var elem = $('#clone_groupId').clone();

    if ($('[id^=group]').length == 1) {
        $('[id^=group] > fieldset > img').removeAttr('style');
    }

    var lastIndex = $('[id^=group]').last().attr('id').replace('group', '');
    var groupIndex = parseInt(lastIndex) + 1;
    var groupId = "group" + groupIndex;

    $(elem).attr('id', groupId);
    $(elem).children('fieldset').children('img').attr('onclick', 'deleteGroup("' + groupId + '");');
    
    $(elem).children('fieldset').children('ul').children('li').attr('id', 'session0');
    $(elem).children('fieldset').children('ul').children('li').children('img').attr('onclick', 'deleteSession("' + groupId + '", "session0")');
    $(elem).children('fieldset').children('ul').children('li').children('img').css('display', 'none');
    $(elem).children('fieldset').children('ul').children('li').children('ul').find('img').attr('onclick', 'deleteExercise("' + groupId + '", "session0","exercise0" );');
    $(elem).children('fieldset').children('ul').children('li').children('ul').find('img').css('display', 'none');
    $(elem).children('fieldset').children('ul').children('li').children('ul').find('li').attr('id', 'exercise0');
    $(elem).find('#btnAddExercise').attr('onclick', 'addExercise("' + groupId + '", "session0");');
    $(elem).find('#btnAddSession').attr('onclick', 'addSession("' + groupId + '");');

    $('#sessionGroups').append($(elem));
}


function deleteGroup(groupId) {
    $('#' + groupId).remove();

    var count = $('[id^=group]').length;
    if (count == 1) {
        $('[id^=group] > fieldset > img').css('display', 'none');
    }
}




//function addInitialExercise(initial_listId) {
//    var count = $('#' + initial_listId + ' > li').length;

//    if (count == 1) {
//        $('#' + initial_listId + ' > li > img').removeAttr('style');
//    }

//    var elem = $('[id^="clone_initial_li"]').first().clone(false).attr('id', 'initial_li' + count);
//    $(elem).find('img').attr('onclick', 'deleteInitialExercise("initial_li' + count + '","' + initial_listId + '");');
//    $(elem).appendTo('#' + initial_listId);
//}

//function addDailyExercise(daily_listId) {
//    var count = $('#' + daily_listId + ' > li').length;

//    if (count == 1) {
//        $('#' + daily_listId + ' > li > img').removeAttr('style');
//    }

//    var elem = $('[id^="clone_daily_li"]').first().clone(false).attr('id', 'daily_li' + count);
//    $(elem).find('img').attr('onclick', 'deleteDailyExercise("daily_li' + count + '","' + daily_listId + '");');
//    $(elem).appendTo('#' + daily_listId);
//}

//function addFinalExercise(final_listId) {
//    var count = $('#' + final_listId + ' > li').length;

//    if (count == 1) {
//        $('#' + final_listId + ' > li > img').removeAttr('style');
//    }

//    var elem = $('[id^="clone_final_li"]').first().clone(false).attr('id', 'final_li' + count);
//    $(elem).find('img').attr('onclick', 'deleteFinalExercise("final_li' + count + '","' + final_listId + '");');
//    $(elem).appendTo('#' + final_listId);
//}

//function deleteInitialExercise(listItemId, initial_listId) {
//    $('#' + initial_listId + ' > #' + listItemId).remove();

//    var i = 0;
//    $('#' + initial_listId + ' > li').each(function () {
//        $(this).attr('id', 'initial_li' + i++);
//    });

//    var count = $('#' + initial_listId + ' > li').length;
//    if (count == 1) {
//        $('#' + initial_listId).find('img').css('display', 'none');
//    }

//    i = 0;
//    $('#' + initial_listId).find('img').each(function () {
//        $(this).attr('onclick', 'deleteInitialExercise("initial_li' + i++ + '","' + initial_listId + '");');
//    });
//}

//function deleteDailyExercise(listItemId, daily_listId) {
//    $('#' + daily_listId + ' > #' + listItemId).remove();

//    var i = 0;
//    $('#' + daily_listId + ' > li').each(function () {
//        $(this).attr('id', 'daily_li' + i++);
//    });

//    var count = $('#' + daily_listId + ' > li').length;
//    if (count == 1) {
//        $('#' + daily_listId).find('img').css('display', 'none');
//    }

//    i = 0;
//    $('#' + daily_listId).find('img').each(function () {
//        $(this).attr('onclick', 'deleteDailyExercise("daily_li' + i++ + '","' + daily_listId + '");');
//    });
//}

//function deleteFinalExercise(listItemId, final_listId) {
//    $('#' + final_listId + ' > #' + listItemId).remove();

//    var i = 0;
//    $('#' + final_listId + ' > li').each(function () {
//        $(this).attr('id', 'final_li' + i++);
//    });

//    var count = $('#' + final_listId + ' > li').length;
//    if (count == 1) {
//        $('#' + final_listId).find('img').css('display', 'none');
//    }

//    i = 0;
//    $('#' + final_listId).find('img').each(function () {
//        $(this).attr('onclick', 'deleteFinalExercise("final_li' + i++ + '","' + final_listId + '");');
//    });
//}

//function addInitialSession() {
//    var elem = $('#clone_initial_sessionDiv').first().clone();
//    var sessionCount = initialSessionIndex++;

//    var count = $('[id^="initial_sessionDiv"]').length;
//    if (count == 1) {
//        $('[id^="initial_sessionDiv"]').children('img').removeAttr('style');
//    }

//    $(elem).attr('id', 'initial_sessionDiv' + sessionCount);
//    $(elem).find('li').find('img').attr('onclick', 'deleteInitialExercise("initial_li0","initial_seList' + sessionCount + '" );');
//    $(elem).find('li').find('img').css('display', 'none');
//    $(elem).find('ul').attr('id', 'initial_seList' + sessionCount);
//    $(elem).find('li').attr('id', 'initial_li0');
//    $(elem).find('#clone_initial_se').attr('id', 'initial_se' + sessionCount);
//    $(elem).find('#btnAddInitialExercise').attr('onclick', 'addInitialExercise(\'initial_seList' + sessionCount + '\');');
//    $(elem).children('img').attr('onclick', "deleteInitialSession('initial_sessionDiv" + sessionCount + "')");

//    $('#initial_addSesion').before(elem);
//}

//function addDailySession() {
//    var elem = $('#clone_daily_sessionDiv').first().clone();
//    var sessionCount = dailySessionIndex++;

//    var count = $('[id^="daily_sessionDiv"]').length;
//    if (count == 1) {
//        $('[id^="daily_sessionDiv"]').children('img').removeAttr('style');
//    }

//    $(elem).attr('id', 'daily_sessionDiv' + sessionCount);
//    $(elem).find('li').find('img').attr('onclick', 'deleteDailyExercise("daily_li0","daily_seList' + sessionCount + '" );');
//    $(elem).find('li').find('img').css('display', 'none');
//    $(elem).find('ul').attr('id', 'daily_seList' + sessionCount);
//    $(elem).find('li').attr('id', 'daily_li0');
//    $(elem).find('#clone_daily_se').attr('id', 'daily_se' + sessionCount);
//    $(elem).find('#btnAddDailyExercise').attr('onclick', 'addDailyExercise(\'daily_seList' + sessionCount + '\');');
//    $(elem).children('img').attr('onclick', "deleteDailySession('daily_sessionDiv" + sessionCount + "')");

//    $('#daily_addSesion').before(elem);
//}

//function addFinalSession() {
//    var elem = $('#clone_final_sessionDiv').first().clone();
//    var sessionCount = finalSessionIndex++;

//    var count = $('[id^="final_sessionDiv"]').length;
//    if (count == 1) {
//        $('[id^="final_sessionDiv"]').children('img').removeAttr('style');
//    }

//    $(elem).attr('id', 'final_sessionDiv' + sessionCount);
//    $(elem).find('li').find('img').attr('onclick', 'deleteFinalExercise("final_li0","final_seList' + sessionCount + '" );');
//    $(elem).find('li').find('img').css('display', 'none');
//    $(elem).find('ul').attr('id', 'final_seList' + sessionCount);
//    $(elem).find('li').attr('id', 'final_li0');
//    $(elem).find('#clone_final_se').attr('id', 'final_se' + sessionCount);
//    $(elem).find('#btnAddFinalExercise').attr('onclick', 'addFinalExercise(\'final_seList' + sessionCount + '\');');
//    $(elem).children('img').attr('onclick', "deleteFinalSession('final_sessionDiv" + sessionCount + "')");

//    $('#final_addSesion').before(elem);
//}

//function deleteInitialSession(divId) {
//    $('#' + divId).remove();

//    var count = $('[id^="initial_sessionDiv"]').length;
//    if (count == 1) {
//        $('[id^="initial_sessionDiv"]').children('img').css('display', 'none');
//    }
//}

//function deleteDailySession(divId) {
//    $('#' + divId).remove();

//    var count = $('[id^="daily_sessionDiv"]').length;
//    if (count == 1) {
//        $('[id^="daily_sessionDiv"]').children('img').css('display', 'none');
//    }
//}

//function deleteFinalSession(divId) {
//    $('#' + divId).remove();

//    var count = $('[id^="final_sessionDiv"]').length;
//    if (count == 1) {
//        $('[id^="final_sessionDiv"]').children('img').css('display', 'none');
//    }
//}